package cn.broadsense.biz.service;

import cn.broadsense.biz.bo.LayerAreaBo;
import cn.broadsense.biz.bo.LayerBo;
import cn.broadsense.biz.domain.Layer;
import cn.broadsense.biz.domain.LayerArea;
import cn.broadsense.biz.dto.LayerAreaDto;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Date;
import java.util.List;

/**
 * @author bs
 * @description 针对表【t_layer(图层表)】的数据库操作Service
 * @createDate 2024-09-10 11:18:08
 */
public interface LayerService extends IService<Layer> {


    /**
     * 保存图层
     *
     * @param layerBo
     */
    void saveLayer(LayerBo layerBo);

    /**
     * 更新图层
     *
     * @param layerBo
     */
    void updateLayer(LayerBo layerBo);


    /**
     * 保存图层区域
     *
     * @param layerAreaBo
     */
    void saveLayerArea(LayerAreaBo layerAreaBo);

    /**
     * 更新图层区域
     *
     * @param layerAreaBo
     */
    void updateLayerArea(LayerAreaBo layerAreaBo);

    /**
     * 获取图层区域列表
     *
     * @param layerId
     * @return
     */
    List<LayerAreaDto> getLayerAreas(Long layerId, String areaName, Date startTime, Date endTime);


    /**
     * 获取详情
     * @param areaId
     * @return
     */
    LayerAreaDto getLayerArea(Long areaId);


    /**
     *  增加图层区域数量
     * @param layerId
     * @param qty
     */
    void increaseLayerAreaQty(Long layerId, Integer qty);

    /**
     *  删除图层区域
     * @param layerId
     */
    void removeArea(Long layerId);

    /**
     *  获取所有图层列表
     *
     */

    List<Layer> listAll(String name);

}
